/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.ieslaferreria.creditsintesis.logicgame;

import edu.ieslaferreria.creditsintesis.logicgame.actions.Runner;

/**
 * Este objeto es por herencia tambien capaz de tener estados, pero ademÃ¡s
 * es capaz de moverse si es preciso, teniendo una velocidad lineal y rotatoria concreta.
 * @author Administrador
 */
public class MobilObject extends ObjectWithStates {
   private float rotationVelocity;
   private float linealVelocity;
   private float angle;
   private float aceleration;
   private float mass;

    public MobilObject(StateMachine state, Runner runner, ActionStates as){
        super(state, runner, as);
        prv_init();
    }

    public MobilObject(String name, StateMachine state, Runner runner, ActionStates as){
        super(name, state, runner, as);
        prv_init();
    }


    public float getRotationVelocity(){
        return this.rotationVelocity;
    }
    public void setRotationVelocity(float w){
        this.rotationVelocity=w;
    }
    public float getLinealVelocity(){
        return this.linealVelocity;
    }
    public void setLinealVelocity(float v){
        this.linealVelocity=v;
           }
     public float getAceleration(){
        return this.aceleration;
    }
    public void setaceleration(float a){
        this.aceleration=a;
           }
     public float getAngle(){
        return this.angle;
    }
    public void setAngle(float a){
        this.angle=a;
           }

    private void prv_init(){
        //System.out.println("prv_init() de MobileObject");
        this.rotationVelocity = 5;
        this.linealVelocity = 10;
        this.angle = 0;
        this.aceleration = 0;
        this.mass=10;
    }

    /**
     * @return the mass
     */
    public float getMass() {
        return mass;
    }

    /**
     * @param mass the mass to set
     */
    public void setMass(float mass) {
        this.mass = mass;
    }

}
